[{%- for item in items recursive%}
{{ (loop.depth) * '    ' }}{{ '{' }}
{{ (loop.depth) * '    ' }}{{ ' ' }}"id": "{{ item.id }}",{# 由Matrix指定的一个全局唯一的id, 可以自动用uuid生成(36进制id), 替换菜单时这个选项很有用. #}
{{ (loop.depth) * '    ' }}{{ ' ' }}"name":  "{{ item.name }}",{# 中文标题, 以后要支持i18n #}
{{ (loop.depth) * '    ' }}{{ ' ' }}"path": "{{ item.path }}",{# 用浏览器url访问系统时, 定位menu位置用的#}
{{ (loop.depth) * '    ' }}{{ ' ' }}"icon": "{{ item.icon }}",{# 定义图标用的, 可有可无#}
{{ (loop.depth) * '    ' }}{{ ' ' }}"visible": {{ item.visible | lower }},{# 是否在菜单中展示, 不展示则仅可以通过url定位来访问,而不显示在菜单上#}
{{ (loop.depth) * '    ' }}{{ ' ' }}"rightId": "{{ item.rightId }}",{#引用page对象的id, 刚刚创建好的menu可以引用pageundiffinded, 也可以选同级菜单下面所属的某个pageid.(这里应该做成下拉菜单, 只能显示所属菜单的pageId). 注意上级菜单可以选任意下级的pageid哦.#}
{{ (loop.depth) * '    ' }}{{ ' ' }}"routeId": "{{ item.routeId}}" {#child, 定义子菜单用的.#}
{%- if item.child %},{% endif -%}
{%- if item.child %}
{{ (loop.depth) * '    ' }}{{ ' ' -}}"child": [
        {{- loop(item.child) }} ]
{% endif %}
{{ (loop.depth) * '    ' }}{{ '}' }}
{%- if not loop.last -%}
    ,
{%- endif -%}
{%- endfor %}]
